Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 #1221

Merged

Conversation

dhirajsb
Copy link
Contributor

@dhirajsb dhirajsb commented Sep 4, 2024

Description

Added string property named registriesNamespace in model registry component DSC config to configue shared registries namespace.
The property can only be set once using CEL validation rules added using kubebuilder annotations in the CRD.
Fixes RHOAIENG-12335

https://issues.redhat.com/browse/RHOAIENG-12335

How Has This Been Tested?

Includes existing integration test that now takes the registry namespace from the DSC.

Screenshot or short clip

Merge criteria

  • You have read the contributors guide.
  • Commit messages are meaningful - have a clear and concise summary and detailed explanation of what was changed and why.
  • Pull Request contains a description of the solution, a link to the JIRA issue, and to any dependent or related Pull Request.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

@dhirajsb
Copy link
Contributor Author

dhirajsb commented Sep 4, 2024

@zdtsw, @VaishnaviHire, @lburgazzoli prow is timing out on pod scheduling, can you kick the failing jobs if you have the rights?

@dhirajsb
Copy link
Contributor Author

dhirajsb commented Sep 5, 2024

Tested the changes in my cluster locally. Verified the following:

  • default value registriesNamespace: odh-model-registries was automatically added to an existing DSC
  • The property registriesNamespace is immutable. When I tried editing that property, I got the following error:
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
# datascienceclusters.datasciencecluster.opendatahub.io "default-dsc" was not valid:
# * spec.components.modelregistry.registriesNamespace: Invalid value: "string": RegistriesNamespace is immutable
#

@dhirajsb
Copy link
Contributor Author

dhirajsb commented Sep 5, 2024

/retest

@zdtsw
Copy link
Member

zdtsw commented Sep 5, 2024

/test opendatahub-operator-e2e

@zdtsw
Copy link
Member

zdtsw commented Sep 5, 2024

i am fine with the change, just put a "on-hold" to get more eyes on

@zdtsw zdtsw requested a review from etirelli September 5, 2024 06:47
@lburgazzoli
Copy link
Contributor

It would be nice to have a test for the CRD validation so we won't accidentally remove it, otherwise LGTM

@zdtsw
Copy link
Member

zdtsw commented Sep 5, 2024

for the e2e, if we can get #1216 in first, it will be less timeout in further runs

Copy link
Contributor

@etirelli etirelli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, my only question is: where is it setting the default name for RHOAI?

@zdtsw
Copy link
Member

zdtsw commented Sep 5, 2024

LGTM, my only question is: where is it setting the default name for RHOAI?

that will be done in rhoai code and internal build system

@dhirajsb
Copy link
Contributor Author

dhirajsb commented Sep 5, 2024

Also verified in my local cluster that the default value shows up when creating DSC:
image

@openshift-ci openshift-ci bot removed the lgtm label Sep 5, 2024
@dhirajsb dhirajsb force-pushed the feat/model-registries-ns branch 2 times, most recently from b414a06 to e30bcf4 Compare September 5, 2024 16:07
main.go Outdated Show resolved Hide resolved
- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>
@lburgazzoli
Copy link
Contributor

@zdtsw I guess we should squash the commits before merge right ?

@zdtsw
Copy link
Member

zdtsw commented Sep 12, 2024

@zdtsw I guess we should squash the commits before merge right ?

yes, it will be squahsed before the final one commits to not "pollute" git log 😓

@zdtsw zdtsw added the odh-2.18 label Sep 12, 2024
@ykaliuta
Copy link
Contributor

@zdtsw I guess we should squash the commits before merge right ?

It is actually merging policy preventing making proper patchsets.

@VaishnaviHire
Copy link
Member

/lgtm

Tested Upgrade from ODH 2.17 --> latest

Copy link

openshift-ci bot commented Sep 13, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: etirelli, zdtsw

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@VaishnaviHire
Copy link
Member

/test opendatahub-operator-e2e

1 similar comment
@VaishnaviHire
Copy link
Member

/test opendatahub-operator-e2e

@openshift-merge-bot openshift-merge-bot bot merged commit dd3df21 into opendatahub-io:incubation Sep 13, 2024
8 checks passed
@dhirajsb dhirajsb deleted the feat/model-registries-ns branch September 13, 2024 16:05
@zdtsw zdtsw mentioned this pull request Sep 16, 2024
5 tasks
odhWebhook := &webhook.Admission{
Handler: w,
}
hookServer.Register("/mutate-opendatahub-io-v1", odhWebhook)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need additional endpoint? Doesn't one webhook work for both validation and mutation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the k8s documentation:

When allowing a request, a mutating admission webhook may optionally modify the incoming object as well. 

So, we need a mutating webhook to modify a CR. They also use different sets of CRs and verbs.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think the main reason to use 2 differnet endpoints , one per each, instead of having one endpoint for both (which is applicable as well) is we already had validation webhook in downstream. By this way, we can get the downstream part out first, and the mutating part as a separate one to test.
another reason is, it is slightly easy to maintain, the logic will be simple in its own Handle() and mutating only need on DSC not DSCI for now.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the k8s documentation:

When allowing a request, a mutating admission webhook may optionally modify the incoming object as well. 

So, we need a mutating webhook to modify a CR. They also use different sets of CRs and verbs.

Do I understand right that you claim that it is impossible?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are you reading the documentation? Please point me to the documentation where it says a validating webhook can respond with a patch, maybe I missed it.

Copy link
Contributor

@bartoszmajsak bartoszmajsak Sep 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you considered using admission.CustomDefaulter instead of general-purpose webhook.Admission? It seems like a good fit if we want to follow the single responsibility principle. It would also simplify the code.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are you reading the documentation? Please point me to the documentation where it says a validating webhook can respond with a patch, maybe I missed it.

I'm just asking questions :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think the main reason to use 2 differnet endpoints , one per each, instead of having one endpoint for both (which is applicable as well) is we already had validation webhook in downstream. By this way, we can get the downstream part out first, and the mutating part as a separate one to test. another reason is, it is slightly easy to maintain, the logic will be simple in its own Handle() and mutating only need on DSC not DSCI for now.

I did some experiments and agree, it makes logic more simple.
But I have another question. It has a check for dsc.Spec.Components.ModelRegistry.RegistriesNamespace but with // +kubebuilder:default="odh-model-registries" it never true for me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I considered CustomDefaulter, but it doesn't pass along the previous version of the object. It's nice to have it if the defaulting logic ever becomes complex enough to know what the old spec was.
We are already using complex validation logic in the MR CEL validator. So, I don't know whether defaulting webhook will ever need to also do that, but I also don't know that it never will. 😄

ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 18, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid double squashing due to
merge policy.

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 18, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid double squashing due to
merge policy.

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 20, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 21, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>

Revert "get_all_manifests.sh: modelregistry: use rhoai-2.14 branch"

There is no yet rhoai-2.14 branch for modelregistry.

This reverts commit 4c7d83a.

Signed-off-by: Yauheni Kaliuta <[email protected]>
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 24, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>

Revert "get_all_manifests.sh: modelregistry: use rhoai-2.14 branch"

There is no yet rhoai-2.14 branch for modelregistry.

This reverts commit 4c7d83a.

Signed-off-by: Yauheni Kaliuta <[email protected]>
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 24, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 25, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

Set management state to Removed since it is not

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>

Update config/samples/datasciencecluster_v1_datasciencecluster.yaml

Co-authored-by: Wen Zhou <[email protected]>

Update bundle/manifests/rhods-operator.clusterserviceversion.yaml

Co-authored-by: Wen Zhou <[email protected]>
ykaliuta pushed a commit to ykaliuta/opendatahub-operator that referenced this pull request Sep 25, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

Set management state to Removed since it is not

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>

Update config/samples/datasciencecluster_v1_datasciencecluster.yaml

Co-authored-by: Wen Zhou <[email protected]>

Update bundle/manifests/rhods-operator.clusterserviceversion.yaml

Co-authored-by: Wen Zhou <[email protected]>

modelregistry: keep registriesNamespace as odh except CSV

It makes less divergency with ODH and default does not matter as
soon as CSV has RHOAI version.

Signed-off-by: Yauheni Kaliuta <[email protected]>
openshift-merge-bot bot pushed a commit to red-hat-data-services/rhods-operator that referenced this pull request Sep 26, 2024
…o#776)

Squashed commit due to buildability since ComponentInterface has
changed.

Other patches squashed as well to avoid possible double squashing on
merging.

Set management state to Removed since it is not

modelregistry: regenerate autogenerated files

Run `make generate manifests` after all the changes

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: Add ModelRegistry component (opendatahub-io#775) (opendatahub-io#776)

* feat: Add ModelRegistry component (opendatahub-io#775)

* fix: Fix modelregistry odh overlays path

* fix: fix dsc_create_test tests err nil check

* fix: refactor ModelRegistry.ReconcileComponent for new parameters

* chore: added modelregistry to README.md

* fix: add missing rbac rules for deploymentconfigs and daemonsets

* chore: code lint cleanup

* fix: added check for nil DevFlags in model-registry component

* fix: add nil check for dscispec.DevFlags in model-registry ReconcileComponent

* fix: remove RBAC rules for daemonsets and deploymentconfigs

* fix(chore): fix lint errors in dsc_deletion_test.go

(cherry picked from commit 112d3f1)
Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

Partial application of already applied

commit d10a764
Author: Bartosz Majsak <[email protected]>
Date:   Thu Mar 7 15:43:37 2024 +0100

    chore: removes SetImageParamsMap from ComponentInterface (opendatahub-io#897)

    As it's not used by any component, acting as a simple pass-return loop.

    This makes the API contract a bit cleaner.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove the need of passing rest config (opendatahub-io#895)

Partial application of already applied

commit ca7fa98
Author: Bartosz Majsak <[email protected]>
Date:   Fri Mar 8 17:40:54 2024 +0100

    chore: remove the need of passing rest config (opendatahub-io#895)

    * chore: fixes ComponentInterface docs

    By removing reference to non-existing func. This function has been in
    use outside of this component.

    * fix: removes rest config

    As we are already using client.Client interface we do not have to
    instantiate other typed clients to e.g. list resources using their own
    funcs. Generic client.Client is sufficient for these needs.

    Additionally this change adds ctx propogation for these calls.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: feat(logger): for both controller level and component level (opendatahub-io#837)

Partial application of already applied

commit d8a83a2
Author: Wen Zhou <[email protected]>
Date:   Mon Apr 1 22:06:16 2024 +0200

    feat(logger): for both controller level and component level (opendatahub-io#837)

    * feat(logger): for both controller level and component level

    Signed-off-by: Wen Zhou <[email protected]>

    * update(logger): use logr instead of uber's zap

    Signed-off-by: Wen Zhou <[email protected]>

    * update: do not log error only print

    Signed-off-by: Wen Zhou <[email protected]>

    * update: use zap.Options for both and tune levels

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move setting into common function

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>
    Signed-off-by: Zhou, Wen <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

update(modelregistry): rename image name (opendatahub-io#877)

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit b4e4d6f)

modelregistry: partial: chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

Partial application of already applied

commit 96c85f2
Author: Wen Zhou <[email protected]>
Date:   Tue Apr 23 14:05:24 2024 +0200

    chore: cleanup duplicated functions packages and add more for godoc (opendatahub-io#981)

    * chore: cleanup duplicated functions/package and add godoc

    - move GetPlatform() from deploy package to cluster package
    - move const ManagedRhods SelfManagedRhods OpenDataHub from deploy to cluster package
    - move WaitForDeploymentAvailable() monitoring package to cluster package
    - remove monitoring package
    - move UpdatePodSecurityRolebinding() from common package to cluster package
    - deprecate GetDomain from common package, to only use GetDomain from cluster package.
    - remove gvk package, move its GVK to cluster package
    - move DeleteExistingSubscription() from deploy package to upgrade package
    - do not export getSubscription()

    Signed-off-by: Wen Zhou <[email protected]>

    * update: remove gvk into one file but under cluster package

    Signed-off-by: Wen Zhou <[email protected]>

    * update: rename variable, removing GVK from it

    Signed-off-by: Wen Zhou <[email protected]>

    * update: move gvk into a sub package under cluster

    Signed-off-by: Wen Zhou <[email protected]>

    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat(mr): create namespace for Model Registry (opendatahub-io#930)

* feat(mr): create namespace for smm

Signed-off-by: Wen Zhou <[email protected]>

* fix: rebase

Signed-off-by: Zhou, Wen <[email protected]>

* update: code review comments

Signed-off-by: Wen Zhou <[email protected]>

* fix(doc): wrong comments

Signed-off-by: Wen Zhou <[email protected]>

* update: remove label to keep namespace even opreator is uninstalled

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Wen Zhou <[email protected]>
Signed-off-by: Zhou, Wen <[email protected]>
(cherry picked from commit 1188ce1)

feat(mr): add model registry odh extras manifests, fixes RHOAIENG-5112 (opendatahub-io#953)

(cherry picked from commit 7c3e81b)

modelregistry: partial: chore: Open up util functions for context propagation (opendatahub-io#1033)

Partial application of already applied

commit 105adae
Author: Aslak Knutsen <[email protected]>
Date:   Tue Jun 4 15:16:21 2024 +0200

    chore: Open up util functions for context propagation (opendatahub-io#1033)

    context should be determined by the caller and propagated
    down the call chain.

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore: remove duplicated platform call in each component (opendatahub-io#1055)

Partial application of already applied

commit 1b04761
Author: Wen Zhou <[email protected]>
Date:   Fri Jun 14 14:47:33 2024 +0200

    chore: remove duplicated platform call in each component (opendatahub-io#1055)

    - get in DSC and pass into compoment

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: update api docs

run `make api-docs`
add +groupName=datasciencecluster.opendatahub.io

On backporting of
1b86e42 ("Update readme.md  (opendatahub-io#890)")

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: partial: chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

Partial application of already applied:

commit 06e21a4
Author: Luca Burgazzoli <[email protected]>
Date:   Tue Jun 25 17:15:13 2024 +0200

    chore(lint): enable contextcheck and containedctx (opendatahub-io#1070)

    * chore(lint): enable contextcheck

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * chore(lint): enable containedctx

    Signed-off-by: Luca Burgazzoli <[email protected]>

    * Fix PR review findings

    * Fix rebase

    ---------

    Signed-off-by: Luca Burgazzoli <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

refactor: dashboard with new manifests structure (opendatahub-io#1065)

Partial application of already applied:

commit 438f4c2
Author: Wen Zhou <[email protected]>
Date:   Tue Jul 2 16:56:25 2024 +0200

    refactor: dashboard with new manifests structure (opendatahub-io#1065)

    * refactor: dashboard with new manifests structure

    - change type of platform, skip convert to string
    - add more support for ApplyParam() to
      not only take ENV but also anything from ExtraParamMaps
    * update: simplify override function
    * update: add value for Unknown platform
    ---------

    Signed-off-by: Wen Zhou <[email protected]>

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add managed model registry prometheus config handling logic, part of RHOAIENG-4273 (opendatahub-io#1150)

(cherry picked from commit 72fc80f)

Adjusted Kueue and TrainingOperator rules

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: add default cert for model registry, fixes RHOAIENG-9909 (opendatahub-io#1165)

Conflicts: ApplyParams arguments due to missing:
  d84cd33 ("update: remove unnecessary param from ApplyParams() (opendatahub-io#1180)")

* feat: add default cert for model registry, fixes RHOAIENG-9909

* fix: fixed lint errors

* fix: add servicemesh feature check for MR, add MR enable check in e2e default cert test

* fix: changed MR servicemesh status check to look for Managed state

* fix: ignore missing model-registry default cert if already removed

(cherry picked from commit 4c411a6)

feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831 (opendatahub-io#1202)

* feat: add servicemeshmember for model registry namespace, fixes RHOAIENG-11831

* fix: ignore error if MR smm already exists

* code cleanup for readability

Co-authored-by: Bartosz Majsak <[email protected]>

* Avoid shadowing package name in variable

Co-authored-by: Bartosz Majsak <[email protected]>

* chore: rename createServicemeshMember to enrollToServiceMesh, add log messages

---------

Co-authored-by: Bartosz Majsak <[email protected]>
(cherry picked from commit 8f3d013)

feat: add managed model registry prometheus job, metrics, and alering rules, fixes RHOAIENG-4273

(cherry picked from commit f811d67)

modelregistry: partial: fix: add check for all platform offering on components

Partial application of

ab7e04e ("fix: add check for all platform offering on components (opendatahub-io#1205)")

ModelRegistry related.

Signed-off-by: Yauheni Kaliuta <[email protected]>

feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335 (opendatahub-io#1221)

* feat: added shared registries namespace property in model registry dsc component, fixes RHOAIENG-12335

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added registriesNamespace property in references to model registry component in docs, samples, etc.

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: updated api-overview.md

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: add missing field in setupDSCInstance()

Signed-off-by: Dhiraj Bokde <[email protected]>

* fix: added debug log for failing e2e test

* debug: added log messages in test dsc creation

Signed-off-by: Dhiraj Bokde <[email protected]>

* debug: make registriesNamespace omitempty so apiserver will set the default value, clean testDSCCreation with more log messages

Signed-off-by: Dhiraj Bokde <[email protected]>

* update: modelregistry with namespace

- add namespace for rhoai case
- remove omitemptry on namespace: if user does not set it, it will get default value to use.
  since its type is string

Signed-off-by: Wen Zhou <[email protected]>

* fix: test need to update for modelreg namespace

Signed-off-by: Wen Zhou <[email protected]>

* update: cleanup debug info in test cases

Signed-off-by: Wen Zhou <[email protected]>

* fix: make registriesNamespace immutability check dynamic in cel validation rule

* fix: refactor validation rule, set registriesNamespace to optional, add patch func in modelregistry to set default value

* fix: add defaulting webhook including envtest, remove patch from modelregistry component

* fix: add namespace name pattern for registriesNamespace, allow empty string to replace with default value

* fix: use unique webhook names

* fix: don't change existing validating webhook name to avoid upgrade issues

* feat: add model registry registriesNamespace in DSC status

* update:

- move ModelRegistryStatus from ModelReg into status
- update validation rule for namespace:
  - when update is to removed/unmanaged modelreg: regardless previous state, can change name and set to removed
  - upgrade 2.13 to 2.14 when no NS set in 2.13
  - when update is from remove/unmanaged: e.g change from removed to managed and change name at the same tie
  - keep same namespace, regardless state
- reduce print on passed allowed webhook request
- set to omitemptry so required is not add in the CSV
- fix review comments:
  - move update status after reconcile is successful
  - set to use const for caching on ModeReg namespace

Signed-off-by: Wen Zhou <[email protected]>

---------

Signed-off-by: Dhiraj Bokde <[email protected]>
Signed-off-by: Wen Zhou <[email protected]>
Co-authored-by: Wen Zhou <[email protected]>
(cherry picked from commit dd3df21)

fix: only replace/set default model reg namespace by webhook if component is enabled

- when modelreg is not set in DSC
- when modelreg is set to be Removed
these two cases should not block operation, for backwards compataible

Signed-off-by: Wen Zhou <[email protected]>
(cherry picked from commit 03f6c0b)

Update autogenerated files

run  `make generate manifests api-docs`

Signed-off-by: Yauheni Kaliuta <[email protected]>

modelregistry: replace odh-model-registries with rhoai-model-registries

Fix names of default registries namespace treewide.

Signed-off-by: Yauheni Kaliuta <[email protected]>

tests: e2e: disable modelregistry

It is not GA yet, disable for now to avoid possible problems.

Signed-off-by: Yauheni Kaliuta <[email protected]>

get_all_manifests.sh: modelregistry: use rhoai-2.14 branch

Use versioned branch/tag like other components.

Signed-off-by: Yauheni Kaliuta <[email protected]>

Update config/samples/datasciencecluster_v1_datasciencecluster.yaml

Co-authored-by: Wen Zhou <[email protected]>

Update bundle/manifests/rhods-operator.clusterserviceversion.yaml

Co-authored-by: Wen Zhou <[email protected]>

modelregistry: keep registriesNamespace as odh except CSV

It makes less divergency with ODH and default does not matter as
soon as CSV has RHOAI version.

Signed-off-by: Yauheni Kaliuta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

7 participants